/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.eam.clinica.logica.bo;

import co.edu.eam.persitencia.dao.Interfaz.IDAOCiudad;
import co.edu.eam.persitencia.dao.implementacion.DAOCiudad;
import co.edu.eam.persitencia.entidades.Ciudad;
import co.edu.eam.persitencia.utilidades.FactoryEntityManager;
import java.util.List;
import javax.persistence.EntityManager;

/**
 *
 * @author EAM
 */
public class BOCiudad {
    static EntityManager fabrica = FactoryEntityManager.getEm();
    IDAOCiudad daociudad;
    
    
    public BOCiudad() {
       daociudad= new DAOCiudad(fabrica);
    }
    
    public void crearCiudad(Ciudad c)throws Exception{
        if (buscarCiudad(c.getId())==null) {
            throw  new Exception("La Ciudad A Sido Creada Exitosamente");
        }else{
            throw  new Exception("La Ciudad Ya Existe");
        }
    }
    
    public Ciudad buscarCiudad(Long id) throws Exception{
        return daociudad.buscarCiudad(id);
    }
    
    public void editarCiudad(Ciudad c)throws Exception{
        if(buscarCiudad(c.getId())==null){
            throw new Exception("La Ciudad No Pudo Ser Editada Porque No existe");
            
        }else{
            daociudad.editarCiudad(c);
            throw new Exception("La Ciudad Fue Editada Exitosamente");
        }
    }
    
    public void eliminarCiudad(Ciudad c) throws Exception{
        if(buscarCiudad(c.getId())==null){
            throw new Exception("La Ciudad No Pudo Ser Eliminada Porque No existe");
            
        }else{
            daociudad.eliminarCiudad(c);
            throw new Exception("La Ciudad Fue Eliminada Exitosamente");
        }
    }
    
    public List<Ciudad> listarCiudades()throws Exception{
        return daociudad.listarTodasLasCiudades();
    }
    
}
